package chapter07

import scala.collection.mutable.ArrayBuffer

/**
  * 不可变调用操作符,可变集合调用方法
  * 可变集合之 可变数组
  */
object Test01_ArrayBuffer {
  def main(args: Array[String]): Unit = {
    // 使用伴生类创建对象
    val array1: ArrayBuffer[Int] = new ArrayBuffer[Int]()
    // 使用伴生对象创建对象
    val arr2 = ArrayBuffer.apply(23, 57, 92)
    println(arr2)
    println(arr2.mkString(">"))

    // 1.访问
    println(arr2(0))
    println(arr2.apply(0))
    //2.修改
    arr2(0) = 100
    arr2.update(0, 200)

    //3.添加元素
    arr2.append(1000)
    println(arr2)
    arr2.prepend(2000)
    arr2.insert(1,11,12)
    println(arr2)

    // 4.删除元素
    arr2.remove(0)
    println(arr2)


    //5.可变数组转换为不可变数组
    val arrBuf:ArrayBuffer[Int] = ArrayBuffer[Int](33,44,55)
    val array = arrBuf.toArray
    println(arrBuf)
    println(array)

    // 不可变数组转换为可变数组
    val buffer = array.toBuffer
    println(buffer == arrBuf) //true
    println(buffer)
  }

}
